import 'package:json_annotation/json_annotation.dart';
import 'package:xindong/models/user/xindong_base_user.dart';
import 'package:xindong/models/user/xindong_user_config.dart';
import 'package:xindong/models/user/xindong_user_task.dart';
import 'package:xindong/models/xindong_crown_class.dart';

part 'xindong_wode_user.g.dart';

// 我的
@JsonSerializable()
class XinDongWoDeUser extends XinDongBaseUser {
  int? attention; // 关注数
  int? following; // 粉丝数
  int? friend; // 好友数

  int? state; // 状态
  int? screen_capture; // 截屏=1允许

  dynamic shouyi; // 收益
  dynamic volley; // 余额
  dynamic score; // 积分
  dynamic dongjie_jifen; // 冻结积分
  dynamic score_price; // 冻结积分
  dynamic money; // 可提现

  int? kejian;
  int? proxy;
  int? zan;
  int? lianmai_limit; // 连麦限制
  int? invite_count;
  int? voice_zan;
  int? heart;
  int? voice_time;
  int? free_chat;
  int? free_voice;
  int? free_video;
  int? zhaohu;
  int? burn;
  int? speaker; // 上电视
  int? defendsCount;
  int? hadVoiceZan;
  int? hide_search; // 隐藏搜索
  int? hide_distance; // 隐藏距离
  int? hide_online_time; // 隐藏在线时间

  // 数据类型和other user不一样
  dynamic noble_time; //到期时间 int 和 string
  dynamic crown_time; // 皇冠到期时间 int 和 string

  String? zhifucount; // 支付宝
  String? zhifuname; // 支付宝

  String? photo_price;
  String? line_price;
  String? paypwd;
  String? sendCode;
  String? voice;
  String? phone;
  String? birthday;
  String? emotion; // 月薪
  String? monthly_salary; // 月薪
  String? education_background;
  String? school_of_graduation;
  String? through_membership;
  String? live_status;
  String? is_car_purchase;
  String? is_house_purchase;
  String? vip_end_datetime;
  String? slogan; // 签名
  String? self_slogan; // 口号
  late String register_datetime; // 注册日期
  late String register_date; // 注册日期
  late int register_days; // 注册天数

  late List<String> tags;
  late List<String> dy_program;
  late List<String> dy_conditions;
  late List<String> photo_show;
  late List<String> self_images;

  XinDongUserTask? task;
  XinDongUserConfig? configPersonal;

  // Null role;
  // Null constellation;
  // Null offtenCity;
  // Null stature;
  // Null wxcount;
  // Null qq;
  // Null shoushi;
  // Null vipNum;
  // Null vipCount;
  // Null angel;
  // Null video;
  // Null cover;
  // Null zhaohuTime;
  // List<Null> selfImages;
  // List<Null> gift;
  // List<Null> defends;
  // List<Null> cluster;

  XinDongWoDeUser();

  factory XinDongWoDeUser.fromJson(Map<String, dynamic> json) => _$XinDongWoDeUserFromJson(json);

  @override
  Map<String, dynamic> toJson() => _$XinDongWoDeUserToJson(this);
}
